18 static int binary_search(
const std::vector<T>& vec,
unsigned int start,
unsigned int end,
const T& key);
42 unsigned int middle = (start + ((end - start) / 2));
45 if (middle > vec.size())
48 if (key == vec[middle])
51 }
else if (key < vec[middle + 1] && key >= vec[middle])
54 }
else if (key < vec[middle])
56 return binary_search(vec, start, middle - 1, key);
58 return binary_search(vec, middle + 1, end, key);